![XplentyからAmazon Redshiftに接続してみた](https://devio2023-media.developers.io/wp-content/uploads/2019/12/xplenty-logo-1200x630.jpg)
XplentyからAmazon Redshiftに接続してみた
こんにちは、スズです。
XplentyからRedshiftへの接続について、以下のドキュメントがあります。今回はこのドキュメントを見ながらXplentyからRedshiftへの接続を試してみました。
※ドキュメントのリンクを更新しました。(2020年7月16日)
Redshiftの準備
Redshiftのコンソールを表示し、クラスターを選択すると、クラスターのプロパティを表示できます。このクラスターのプロパティの画面で、セキュリティなどの設定が行えます。
ネットワークとセキュリティ
ネットワークとセキュリティでは、VPCセキュリティグループとパブリックアクセス可能の部分を設定します。
VPCセキュリティグループ
RedshiftのポートにXplentyからアクセスできるように開放します。許可が必要なIPアドレスのリストは、Xplentyのヘルプに記載されています。
セキュリティグループの設定を編集する場合は、クラスターに設定しているセキュリティグループをクリックすると、セキュリティグループの設定画面が表示されます。
セキュリティグループでは、インバウンドにXplentyで使用するIPアドレスに対してRedshiftのポートを設定します。編集をクリックすると、インバウンドルールの追加や削除が行えます。
設定したセキュリティグループは、クラスターに適用する必要があります。クラスターのプロパティにて、ネットワークとセキュリティの編集をクリックすると、編集画面が表示されます。こちらでセキュリティグループを設定できます。
パブリックアクセス可能
パブリックアクセスを許可しておきます。パブリックアクセス可能に「いいえ」と表示されている場合は、編集から「はい」に変更します。
Redshiftのユーザーの作成
XplentyからRedshiftへの接続用のユーザーを作成する場合は、CREATE USERで作成します。コマンドの詳細はRedshiftのドキュメントで確認できます。
ワークロード管理
SSLの通信のみ接続を許可する場合には、設定のワークロード管理から設定できます。デフォルトのパラメータグループしか存在していない場合は、作成から新しく作成できます。
設定するパラメータグループを選択し、パラメータにあるパラメータの編集から編集画面を表示します。
require_sslをtrueにします。
新しくパラメータグループを作成した場合は、クラスターのプロパティのデータベース設定で設定します。
パラメータグループを変更したあとクラスターを見てみると、再起動を保留中と表示されていました。
保留中の更新を確認してみると、パラメータグループの適用が保留中になっていました。
アクション -> 再起動 からクラスターを再起動して更新を適用します。
Xplentyで接続してみる
Redshiftを用意したので今度はXplentyから接続してみます。今回はRedshiftに接続してXplentyでデータの取得を試すため、SourcesにあるAmazon RedshiftをPackageに配置します。
配置したComponentをクリックして設定していきます。
最初に接続先の設定です。今回は新しく接続先を設定するため、Newをクリックします。
接続先にあわせてHostnameやPortなどを設定し、Test connectionで接続を確認します。接続に成功したらCreate connectonで接続先の設定を保存します。
Nextをクリックして次に進みます。
データを取得するテーブルを設定してNextをクリックします。
テーブルから取得したデータがData Previewに表示されます。Available Fieldsには選択可能なフィールドが表示されますので、フィールドを選択すると、Selected Fieldsに選択したフィールドが表示されます。フィールドを選択した後、Saveで保存します。
これでXplentyからRedshiftに接続できました。
さいごに
XplentyからRedshiftへの接続を試してみました。